import request from '@/utils/request'

// 获取监测量下拉列表
export function getMonitoringLibraryList() {
  return request({
    url: '/dispatch/jishuanjiance/getMonitoringLibraryList',
    method: 'get'
  })
}

// 分页/条件查询计算监测量列表
export function getCalcList(params) {
  return request({
    url: '/dispatch/jishuanjiance/calc/list',
    method: 'get',
    params
  })
}

// 获取计算监测量详情（含公式项）
export function getCalcDetail(id) {
  return request({
    url: `/dispatch/jishuanjiance/calc/${id}`,
    method: 'get'
  })
}

// 新增计算监测量（可带 items 一次性保存）
export function addCalc(data) {
  return request({
    url: '/dispatch/jishuanjiance/calc',
    method: 'post',
    data
  })
}

// 修改计算监测量（可带 items 覆盖保存）
export function updateCalc(id, data) {
  return request({
    url: `/dispatch/jishuanjiance/calc/${id}`,
    method: 'put',
    data
  })
}

// 删除（单个）
export function deleteCalc(id) {
  return request({
    url: `/dispatch/jishuanjiance/calc/${id}`,
    method: 'delete'
  })
}

// 批量删除
export function batchDeleteCalc(data) {
  return request({
    url: '/dispatch/jishuanjiance/calc/batch',
    method: 'delete',
    data
  })
}

// 启用/停用
export function enableCalc(id, flag) {
  return request({
    url: `/dispatch/jishuanjiance/calc/${id}/enable/${flag}`,
    method: 'put'
  })
}

// 排序
export function sortCalc(data) {
  return request({
    url: '/dispatch/jishuanjiance/calc/sort',
    method: 'put',
    data
  })
}

// 查询公式项列表
export function getCalcItems(id) {
  return request({
    url: `/dispatch/jishuanjiance/calc/${id}/items`,
    method: 'get'
  })
}

// 覆盖保存公式项
export function saveCalcItems(id, data) {
  return request({
    url: `/dispatch/jishuanjiance/calc/${id}/items`,
    method: 'put',
    data
  })
}